#ifndef POINT3D_H
#define POINT3D_H
#include <math.h>
#include <QVector>

class Point3D
{
public:
  double x, y, z;

  Point3D(void);
  Point3D(double xValue, double yValue, double zValue);
  Point3D Normalize3D(void);
  Point3D(const Point3D &src);
  double DistanceTo(const Point3D &dest) const;
  double AbsoluteValue(void) const;

  void operator = (const Point3D &right);
  friend Point3D operator + (const Point3D &left, const Point3D &right);
  friend Point3D operator * (double left, const Point3D &right);
  friend Point3D operator * (const Point3D &left, double right);
  friend Point3D operator - (const Point3D &left, const Point3D &right);
  friend Point3D operator / (const Point3D &left, const double right);
};

#endif